---@class Table_CameraMoveItem
local Table_CameraMoveItem = class("Table_CameraMoveItem");

function Table_CameraMoveItem:ctor()
    self.Id = 0;    --唯一ID
    self.Px = 0;    --
    self.Py = 0;    --
    self.Pz = 0;    --
    self.Rx = 0;    --
    self.Ry = 0;    --
    self.Rz = 0;    --
    self.Rw = 0;    --
    self.Sx = 0;    --
    self.Sy = 0;    --
    self.Sz = 0;    --
end

function Table_CameraMoveItem:Load(reader)
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Id = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Px = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Py = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Pz = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Rx = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Ry = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Rz = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Rw = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Sx = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Sy = tonumber(self.temp); end
    self.temp = reader:ReadShortString();
    if not Utility.IsNullOrEmpty(self.temp) then self.Sz = tonumber(self.temp); end
    self.temp = nil;
end

---@class Table_CameraMoveMgr : IDataMgr
local Table_CameraMoveMgr = class("Table_CameraMoveMgr", IDataMgr);

function Table_CameraMoveMgr:FileName()
    return "Txt/CameraMove.txt";
end

---@return Table_CameraMoveItem
function Table_CameraMoveMgr:GetItemById(id)
    return self.super:GetItemById(id)
end

---@return Table_CameraMoveItem
function Table_CameraMoveMgr:GetItemByIdx(idx)
    return self.super:GetItemByIdx(idx)
end

function Table_CameraMoveMgr:Load(reader)
    local item = Table_CameraMoveItem.new();
    item:Load(reader);
    self.mItemDic[item.Id] = self.mDataCount;
    table.insert(self.mItemList, item);
end

return Table_CameraMoveMgr;